home *** CD-ROM | disk | FTP | other *** search
- Posted-By: auto-faq 3.1.1.2
- Archive-name: client-server-faq
- Posting-frequency: Monthly
-
- comp.client-server Frequently Asked Questions
-
- Information about this document
- *******************************
-
- Contained below is a list of the most commonly asked questions about
- client/server in comp.client-server. Before posting to comp.client-server, if
- you are new to the group, check to see if your question(s) are already answered
- below. Corrections and/or additions to the list can be emailed to :-
-
- cs-faq@aplcomm.jhuapl.edu
-
- And I'll try to add them as soon as possible....
-
- -- Lloyd Taylor
- comp.client-server FAQ maintainer
-
-
- Table of Contents
- *****************
-
-
- Part 1: Introduction and Miscellaneous questions
- ************************************************
-
- i. What archives/FTP sites are available with client-server related
- material?
-
-
- Part 2: Basic Concepts of client/server architecture
- ****************************************************
-
- 1. What is Client-server Computing?
- 2. What is a Client Process?
- 3. What is a Server Process?
- 4. What is Middleware?
- 5. What is Cooperative Processing?
- 6. What is Distributed Processing?
- 7. What is Reengineering?
- 8. What are the characteristics of a Client/Server architecture?
- 9. What are the different types of Servers?
- 10. What are the different client/server processing styles?
- 11. What is Distributed or Remote Presentation?
- 12. What is Remote Data Management?
- 13. What is Distributed Function Processing?
- 14. What is IBM's System Application Architecture?
- 15. What is APPLE's VITAL architecture?
- 16. What is Sun's Open Network Computing Architecture?
- 17. What is Digital's Network Application System (NAS) architecture?
- 18. What is OSF-DCE?
- 19. What are DOMS (Distributed Object Management Systems)?
- 20. What is CORBA?
- 21. What is DAE?
-
- Part 3: Books and Articles on Client/Server computing
- ********************************************
-
-
-
- __________________________________________________________
-
- i. What archives/FTP sites are available with client-server related
- material?
-
- Object Management Group archives:
- ftp://omg.org
-
- OSF/DCE FAQ
- http://www.osf.org:8001/dce/faq-mauney.html
- ftp://ftp.dstc.edu.au/pub/DCE/FAQ
-
- Standards Acronyms:
- ftp://rtfm.mit.edu/pub/usenet/news.answers/standards-faq
- _________________________________________________________
-
-
-
- 1. What is Client-server Computing?
- ******************************
- Client/Server processing refers to a style of computing based on a
- requestor-server approach where communication is accomplished through
- messaging. Client-server processing refers to a type of computing based
- on a message-passing between communicating processes. The requester,
- usually the client, asks for some specific of service and the server responds
- by servicing the request or providing the information. The
- communications between the client and server occur through messages
- (e.g. RPC (Remote Procedural Call), Named Pipes) and may be conducted
- on a single host computer. The simplest form of a client/server application
- has only two pieces: a client process and a server process connected via a
- network. The server process is the provider of services and the client is a
- consumer of services.
-
- 2. What is a Client process?
- ***********************
- The client is a process (program) that sends a message to a server process
- (program), requesting that the server perform a task (service). Client
- programs usually manage the user-interface portion of the application,
- validate data entered by the user, dispatch requests to server programs, and
- sometimes execute business logic. The client-based process is the front-
- end of the application that the user sees and interacts with. The client
- process contains solution-specific logic and provides the interface between
- the user and the rest of the application system. The client process also
- manages the local resources that the user interacts with such as the
- monitor, keyboard, workstation CPU and peripherals. One of the key
- elements of a client workstation is the graphical user interface (GUI).
- Normally a part of operating system i.e. the window manager detects user
- actions, manages the windows on the display and displays the data in the
- windows.
-
-
- 3. What is a Server process?
- ***********************
- A server process (program) fulfills the client request by performing the
- task requested. Server programs generally receive requests from client
- programs, execute database retrieval and updates, manage data integrity
- and dispatch responses to client requests. Sometimes server programs
- execute common or complex business logic. The server-based process
- "may" run on another machine on the network. This server could be the
- host operating system or network file server; the server is then provided
- both file system services and application services. Or in some cases,
- another desktop machine provides the application services. The server
- process acts as a software engine that manages shared resources such as
- databases, printers, communication links, or high powered-processors. The
- server process performs the back-end tasks that are common to similar
- applications.
-
-
- 4. What is Middleware?
- ********************
- Connectivity allows applications to transparently communicate with other
- programs or processes, regardless of their location. The key element of
- connectivity is the network operating system (NOS). NOS provides
- services such as routing, distribution, messaging, file and print, and
- network management services. NOS rely on communication protocols to
- provide specific services. The protocols are divided into three groups:
- media, transport and client-server protocols. Media protocols determine
- the type of physical connections used on a network (some examples of
- media protocols are Ethernet, Token Ring, Fiber Distributed Data
- Interface (FDDI), coaxial and twisted-pair). A transport protocol provides
- the mechanism to move packets of data from client to server (some
- examples of transport protocols are Novell's IPX/SPX, Apple's AppleTalk,
- Transmission Control Protocol/ Internet Protocol (TCP/IP), Open Systems
- Interconnection (OSI) and Government Open Systems Interconnection
- Profile(GOSIP)). Once the physical connection has been established and
- transport protocols chosen, a client-server protocol is required before the
- user can access the network services. A client-server protocol dictates the
- manner in which clients request information and services from a server
- and also how the server replies to that request (some examples of client-
- server protocols are NetBIOS, RPC, Advanced Program-to-Program
- Communication (APPC), Named Pipes, Sockets, Transport Level Interface
- (TLI) and Sequenced Packet Exchange (SPX)).
-
-
- 5. What is Cooperative Processing?
- ******************************
- Cooperative processing is computing which requires two or more distinct
- processors to complete a single transaction. Cooperative processing is
- related to both distributed and client/server processing. It is a form of
- distributed computing where two or more distinct processes are required to
- complete a single business transaction. Usually, these programs interact
- and execute concurrently on different processors. Cooperative processing
- can also be considered to be a style of client/server processing if
- communication between processors is performed through a message
- passing architecture.
-
- 6. What is Distributed Processing?
- ******************************
- The distribution of applications and business logic across multiple
- processing platforms. Distributed processing implies that processing will
- occur on more than one processor in order for a transaction to be
- completed. In other words, processing is distributed across two or more
- machines and the processes are most likely not running at the same time,
- i.e. each process performs part of an application in a sequence. Often the
- data used in a distributed processing environment is also distributed across
- platforms.
-
-
- 7. What is Reengineering?
- *********************
- Reengineering is the organizational process required to align people,
- processes and technology with strategies to achieve business integration. It
- can also be thought of as taking a business in its current state and forming
- an organizational and operational blueprint to redirect skills, policies,
- information (data), cultural values, organizational structures, processing
- and incentives towards targeted improvements.
-
-
- 8. What are the characteristics of a client/server architecture?
- ************************************************************
- The basic characteristics of client/server architectures are:
-
- 1) combination of a client or front-end portion that interacts with the user,
- and a server or back-end portion that interacts with the shared resource.
- The client process contains solution-specific logic and provides the
- interface between the user and the rest of the application system. The
- server process acts as a software engine that manages shared resources
- such as databases, printers, modems, or high powered processors.
-
- 2) the front-end task and back-end task have fundamentally different
- requirements for computing resources such as processor speeds, memory,
- disk speeds and capacities, and input/output devices.
-
- 3) the environment is typically heterogeneous and multivendor. The
- hardware platform and operating system of client and server are not
- usually the same.Client and server processes communicate through a
- well-defined set of standard application program interfaces (API's) and
- RPC's.
-
- 4) An important characteristic of client-server systems is scalability. They
- can be scaled horizontally or vertically. Horizontal scaling means adding
- or removing client workstations with only a slight performance impact.
- Vertical scaling means migrating to a larger and faster server machine or
- multiservers.
-
-
- 9. What are the different types of servers?
- ***********************************
- The simplest form of servers are disk servers and file servers. With a file
- server, the client passes requests for files or file records over a network to
- the file server. This form of data service requires large bandwidth and can
- slow a network with many users down considerably. Traditional LAN
- computing allows users to share resources, such as data files and
- peripheral devices, by moving them from standalone PCUs onto a
- Networked File Server (NFS).
-
- The more advanced form of servers are database servers, transaction
- server and application servers (Orfali and Harkey 1992). In database
- servers, clients passes SQL (Structured Query Language) requests as
- messages to the server and the results of the query are returned over the
- network. The code that processes the SQL request and the data resides on
- the server allowing it to use its own processing power to find the requested
- data, rather than pass all the records back to a client and let it find its own
- data as was the case for the file server. In transaction servers, clients
- invoke remote procedures that reside on servers which also contains an
- SQL database engine. There are procedural statements on the server to
- execute a group of SQL statements (transactions) which either all succeed
- or fail as a unit. The applications based on transaction servers are called
- On-line Transaction Processing (OLTP) and tend to be mission-critical
- applications which require 1-3 second response time, 100% of the time
- and require tight controls over the security and integrity of the database.
- The communication overhead in this approach is kept to a minimum as the
- exchange typically consists of a single request/reply (as opposed to
- multiple SQL statements in database servers). Application servers are not
- necessarily database centered but are used to server user needs, such as.
- download capabilities from Dow Jones or regulating a electronic mail
- process. Basing resources on a server allows users to share data, while
- security and management services, which are also based in the server,
- ensure data integrity and security.
-
-
- 10. What are the different client/server processing styles?
- **********************************************
- Gartner group came out with the five ways of describing the different c/s
- styles based on how they split the three components of any application:
- user interface, business or application logic, data management. The five
- styles are distributed presentation, remote presentation, distributed
- function, remote data managementand distributed data management.
-
- (Note: This is an arbitary classification and others may do it differently)
-
- 11. What is distributed or remote presentation?
- **************************************
- For people whose roots are embedded in the mainframe IBM world,
- client-server is essentially distributed or remote presentation. This style
- maps a workstation Graphical User Interface (GUI) front end onto an
- existing application's text-based screen. This is also called Remote,
- Mapping, Front-ending or HLLAPI (High-Level Language Application
- Programming Interface). The mode of operation is typically intelligent
- workstations intercepting and interrogating text-screen (e.g. 3270) data
- streams sent from a host for display in a windowed environment.This is
- "frontware" solution, where a GUI front end is added to an IBM/MVS
- 3270/5250 application and is placed on a workstation. However, most
- processing remains on the host or server, with the exception of user
- interface translation logic and possibly validation logic. For example,
- data from an application program is sent to a 3270 screen program on the
- mainframe to be displayed. The merged data is sent to the workstation as
- a 3270 data stream.The workstation interprets the data and converts it to
- graphical form in a window. (Typically every mainframe screen used by
- the application has a corresponding window on the workstation and vice
- versa). When the user enters the data in a GUI window, it is transformed
- by the frontware application into a corresponding 3270 data format and is
- sent to the host computer.
-
-
- 12. What is Remote Data Management?
- ***********************************
- In remote data management, the entire application resides on the client and
- the data managment is located on a remote server/host. Remote Data
- Management is relatively easily to program for because there is just one
- application program. The client communicates with the server using SQL,
- the server then responds with data that satisfies the query. RDBMS
- products that offer remote data management provide a layer of software on
- the client to handle the communication with the DBMS server.This style
- represents a more traditional LAN database server or file server approach.
- Workstations support the presentation and function logic and interface
- with the data server through the data manipulation language.Distributed
- data management is an extension of remote data management and uses the
- distributed facilities of the DBMS to access distributed data in a manner
- transparent to users. This is most relevant for architectures having data
- spread across several servers and when access to a DBMS on another
- server is required.
-
- 13. What is distributed function processing?
- ***********************************
- Here the split occurs in the application functionality, one part going to the
- client, other to the server. Distributed function applications are the most
- complex of the three typologies since two separately compiled application
- programs must be developed. Developers must analyze where each
- function should reside and what type of dialog must occur between the
- two programs. The underlying communications facilities may implement
- either a message-based or remote procedure call (RPC) mechanism for
- transfer of dialog and data. However, there are many variants of this
- typology. One variant of the distributed function style is where data
- management and application function occur at both the client and server.
- In this instance, data management at the client would include referential,
- read-only data. Data frequently updated or accessed by many users would
- reside on the server.
-
- 14. What is IBM's System Application Architecture?
- ******************************************
- SAA is a collection of selected software interfaces, conventions, and
- protocols that are used as a framework for developing consistent,
- integrated applications across the major IBM computing environments.
-
- Four major components of this architecture are:
- - Common User Access (CUA) defines conventions for GUI look and feel.
- - Common Programming Interface (CPI) provides languages, tools, and
- APIs that give applications greater portability and more consistent user
- interfaces across multiple platforms.
- - Common Communication Support (CCS) supports existing
- communications standards, such as LU 6.2.
- - Common Applications, written by IBM, will serve as demonstrations of
- SAA concepts and make it easy for users to migrate between systems.
-
- 15. What is APPLE's VITAL architecture?
- ***********************************
- VITAL provides a way of building information systems constructed from
- generalized modules that can be reused and shared.It specifies how to
- construct and provide interfaces for these modules. A cornerstone of
- Apple's client/server architecture is Data Access Language (DAL). DAL
- consists of software components for the client and the server (Macintosh
- System 7 includes the client component, DOS and Windows clients are
- sold separately). DAL sits between the client and server components.
- This approach allows varied clients to communicate with many different
- servers. With DAL, a change in the DBMS does not affect the front-end;
- it simply requires the appropriate DAL link.
-
-
- 16. What is Sun's Open Network Computing Architecture?
- ***********************************************
- Open Network Computing (ONC) is the Sun architecture, with third party
- alliances providing the missing pieces. Sun's RPC is licensed by more
- than 300 companies, including DEC, IBM, and Apple Computer. It is a
- lean, efficient RPC that is particularly effective for installations not
- requiring WAN support. Transport Independent Remote Procedure Calls
- (TI-RPC) were co-developed by Sun and AT&T. TI-RPC runs
- independent of the underlying network transport, allowing applications to
- run unmodified over multiple transport protocols including NetWare,
- PC\NFS, AIX/6000, Solaris, UNIX\SVR4, AIX/ESA. NetWise developed
- the TI-RPC Application Toolkit source code generation technology.
- NetManage developed ONC RPC-Dynamic Link Library, an
- implementation of RPC/XDR under windows 3.0.
-
-
- 17. What is Digital's Network Application System (NAS) architecture?
- *********************************************************
- NAS is a software suite that enables applications to be integrated across a
- distributed network of multivendor systems: NAS services are divided
- into four main groups:
- -Application Access Services which support user interface (forms based,
- graphical or character terminal based)
- -Communication and Central services which support communications
- using electronic mail and EDI
- -Information and resource sharing, which supports database access and
- compound documents (collection of images, graphics and conventional
- text)
- -System Access services which provides a standard operating system
- interface.
-
-
- 18. What is OSF-DCE?
- *******************
- (Extracted, with permission, from the DCE FAQ, available at
- http://www.osf.org:8001/dce/faq-mauney.html)
-
- DCE is the Distributed Computing Environment, from the Open Software
- Foundation. (It is called "the DCE" by sticklers for grammatical
- consistency.)
-
- DCE consists of multiple components which have been integrated to work
- closely together. They are the Remote Procedure Call (RPC), the Cell
- and Global Directory Services (CDS and GDS), the Security Service, DCE
- Threads, Distributed Time Service (DTS),and Distributed File Service
- (DFS). The Threads, RPC, CDS, Security, and DTS components are
- commonly referred to as the "secure core" and are the required
- components of any DCE installation. DFS is an optional component.
-
- DCE is called "middleware" or "enabling technology." It is not
- intended to exist alone, but instead should be integrated or bundled
- into a vendor's operating system offering. DCE's security and
- distributed filesystem, for example, can completely replace their
- current, non-network, analogs.
-
-
- 19. What are Distributed Object Management Systems (DOMS)?
- ******************************************************
- DOMS provide a way of pulling diverse components together and
- managing their communications. They are aimed at addressing the
- following:
- - A single interface to manage the complexities of a heterogeneous
- environment
- - A uniform framework, based on standards and extensibility, to build,
- integrate, and deploy open distributed-computing applications
- - A method for creating location independence for client applications.
-
- (See "Software Without Walls" by Herbert M. Osher Byte, March, 1992)
- for an overview.
-
- 20. What is CORBA?
- ***************
- CORBA stands for the Common Object Request Broker Architecture. It is
- designed to make sure that a client's request for service in a DOMS is sent
- to the proper server.
-
- (For technical details, peruse the Object Management Group ftp site at
- omg.org)
-
-
- 21. What is DAE?
- ***************
- Distributed Application Environment is designed to allow businesses to
- use IBM's RISC System/6000 and PS/2 computers in a client/server
- network (or standalone) for their business applications. DAE consists (1)
- MESSAGING services; (2) DATABASE services ; (3) PRESENTATION
- services; (4) DEVICE services to capture data and to control a broad
- category of controllers, devices, equipment and sensors.
-
- _____________________________________________________________
-
- Comp.client-server Frequently Asked Questions
- --------------------------------------------------------------------------
-
-
- Books
- ******
-
- 1. AUTHOR: Berson, Alex
- TITLE: Client-server architecture / Alex Berson.
- PUBLISHED: New York : McGraw-Hill, c1992.
- SERIES: J. Ranade series on computer communications
- ISBN: 0070050767
-
- 2. AUTHOR: Smith, Patrick.
- TITLE: Client/server computing
- PUBLISHED: Carmel, Ind. : SAMS, c1992.
- SERIES: Professional reference series.
- ISBN: 0672300656
-
- 3. AUTHOR: Orfali, Robert, Dan Harkey.
- TITLE: Client/server programming with OS/2 2.0
- PUBLISHED: New York : Van Nostrand Reinhold, c1992.
- SERIES: VNR computer library
- ISBN: 0442012195
-
- 4. AUTHOR: Dewire, Dawna Travis
- TITLE: Client/server computing
- PUBLISHED: New York : McGraw-Hill, c1993.
- SERIES: James Martin/McGraw-Hill productivity series
- ISBN: 007016732X
-
- 5. AUTHOR: Renaud, Paul E., 1957-
- TITLE: Introduction to client/server systems : a practical
- guide for systems professionals / Paul E. Renaud.
- PUBLISHED: New York : Wiley, c1993.
- SERIES: Wiley professional computing
- ISBN: 0471577731; 047157774X (pbk.)
-
- 6. TITLE: "Client Server Computing: Making It Work for You"
- PUBLISHED: Parallan Computer, Inc.
- Attn: Marketing Publications
- 201 Ravendale Drive
- Mountain View, CA 94043
-
- 7. AUTHOR: Boar, Bernard H., 1947-
- TITLE: Implementing client/server computing : a strategic
- perspective
- SERIES: McGraw-Hill systems design & implementation
- ISBN: 0070062153 :
-
- 8. AUTHOR: Baker, Richard H.
- TITLE: Networking the enterprise : how to build client/server
- systems that work
- PUBLISHED: New York : McGraw-Hill, c1994
- SERIES: McGraw-Hill series on computer communications
- ISBN: 0070050899 : 0070050902 (PBK) :
-
- 9. AUTHOR: Inmon, William H.
- TITLE: Developing client/server applications
- PUBLISHED: Boston : QED Pub. Group, c1993.
- ISBN: 0894354582 :
-
- 10. AUTHOR: Khanna, R. (Editor)
- TITLE: Distributed Computing: Implementation and
- Management Strategies
- PUBLISHED: New Jersey: Prentice Hall, c1994
- ISBN: 0-13-220138-0
-
-
- Papers/Articles:
- ------------------
-
- 1. Sinha, Alok,. 1992. Client-Server Computing. Communications of the
- ACM, Vol. 35 No.7 : 77-98.
-
-